Saltar al contenido principal

Agregar Documento

Este endpoint permite actualizar o crear un documento para un cliente específico.

Descripción

Este endpoint permite a un usuario autenticado agregar un documento a un cliente, proporcionando ciertos datos y un archivo. Se verifica si el cliente y el tipo de documento existen, y se valida el formato de los datos proporcionados.

URL Base

/api/agregar-documento/

Métodos

  • POST: Para crear o actualizar un documento para un cliente específico.

Autenticación

  • Se requiere autenticación por JWT.
  • Solo usuarios autenticados pueden acceder a este endpoint.

Permisos

  • El endpoint solo está disponible para usuarios autenticados.

Tipo de Contenido

  • multipart/form-data: Se espera recibir datos de formulario y archivos adjuntos.

Parámetros

  • id_cliente: (String, requerido) El ID del cliente al que se le va a agregar el documento.
  • tipo: (String, requerido) El tipo de documento que se va a agregar. Se verifica si existe en la base de datos.
  • archivo: (Archivo, requerido) El archivo que se va a asociar al documento.
  • fecha_vencimiento: (String, opcional) La fecha de vencimiento del documento, en formato yyyy-mm-dd.
  • metadata: (String, opcional) Metadatos adicionales relacionados con el documento. Deben ser datos simples como texto, números, etc.

Detalle de Parámetros

  • id_cliente: Identificador único del cliente. Es obligatorio y debe existir en la base de datos.
  • tipo: Identificador del tipo de documento. Es obligatorio y debe existir en la base de datos.
  • archivo: El archivo adjunto al documento. Es obligatorio.
  • fecha_vencimiento: Fecha de vencimiento del documento. Debe ser en formato yyyy-mm-dd.
  • metadata: JSON con metadatos adicionales. Debe contener solo datos simples. Si contiene una fecha, también debe estar en formato yyyy-mm-dd.

Posibles Respuestas

  • 201 CREATED

    • Código: 201

    • Mensaje: "El documento se creó exitosamente."

    • Ejemplo JSON:

      jsonCopy code

      { "status": 201, "data": { "respuesta": "El documento se creó exitosamente." } }

  • 400 BAD REQUEST

    • Código: 400

    • Mensaje: Se produce cuando falta un parámetro requerido o hay un formato incorrecto.

    • Ejemplo JSON:

      jsonCopy code

      { "status": 400, "data": { "respuesta": "El id_cliente es requerido." } }

  • 404 NOT FOUND

    • Código: 404

    • Mensaje: Se produce cuando el cliente o el tipo de documento no existen.

    • Ejemplo JSON:

      jsonCopy code

      { "status": 404, "data": { "respuesta": "El ID de Cliente no está en la base de datos." } }

  • 500 INTERNAL SERVER ERROR

    • Código: 500

    • Mensaje: Se produce cuando hay un error interno en el servidor no manejado.

    • Ejemplo JSON:

      jsonCopy code

      { "status": 500, "data": { "respuesta": "Ocurrió un error interno en el servidor: [mensaje del error]." } }